MongoDB-তে একটি collection মুছে ফেলার জন্য আপনি drop() মেথড ব্যবহার করতে পারেন। একইভাবে, MongoDB ডকুমেন্ট মুছতে deleteOne() বা deleteMany() মেথড ব্যবহার করা হয়। এখানে আমরা মূলত দুটি বিষয় দেখবো:
- Collection Drop করা (ডিলিট করা)
- Document Delete করা (একক বা একাধিক)
1. Collection Drop করার পদ্ধতি
MongoDB-তে collection মুছতে drop() মেথড ব্যবহার করা হয়। এটি পুরো collection এবং তার সমস্ত ডকুমেন্ট মুছে ফেলে।
drop() মেথড ব্যবহার:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
public class MongoDBDropCollectionExample {
public static void main(String[] args) {
// MongoClient তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017); // MongoDB সার্ভারের পোর্ট
// ডাটাবেস নির্বাচন
MongoDatabase database = mongoClient.getDatabase("mydb");
// collection নির্বাচন
MongoCollection<Document> collection = database.getCollection("mycollection");
// Collection Drop (মুছে ফেলা)
collection.drop(); // This will drop the collection "mycollection"
System.out.println("Collection dropped successfully!");
// MongoClient বন্ধ করা
mongoClient.close();
}
}
ব্যাখ্যা:
collection.drop()মেথডটি MongoDB collection মুছে ফেলার জন্য ব্যবহার করা হয়। এটি পুরো collection এবং তার সমস্ত ডকুমেন্ট মুছে ফেলে।- ডাটাবেসে collection একবার drop করলে তা পুনরায় পুনরুদ্ধার করা যায় না।
2. Document Delete করার পদ্ধতি
MongoDB-তে ডকুমেন্ট মুছতে deleteOne() বা deleteMany() মেথড ব্যবহার করা হয়।
deleteOne() মেথড:
deleteOne()একটি একক ডকুমেন্ট মুছে ফেলে, যেটি নির্দিষ্ট filter অনুসারে মেলে।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
public class MongoDBDeleteOneExample {
public static void main(String[] args) {
// MongoClient তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017); // MongoDB সার্ভারের পোর্ট
// ডাটাবেস নির্বাচন
MongoDatabase database = mongoClient.getDatabase("mydb");
// collection নির্বাচন
MongoCollection<Document> collection = database.getCollection("mycollection");
// Document deleteOne() ব্যবহার করা
collection.deleteOne(new Document("name", "John Doe")); // Delete the document where name is "John Doe"
System.out.println("Document deleted successfully!");
// MongoClient বন্ধ করা
mongoClient.close();
}
}
deleteMany() মেথড:
deleteMany()মেথডটি একাধিক ডকুমেন্ট মুছে ফেলে, যেগুলি নির্দিষ্ট filter অনুসারে মেলে।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
public class MongoDBDeleteManyExample {
public static void main(String[] args) {
// MongoClient তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডাটাবেস নির্বাচন
MongoDatabase database = mongoClient.getDatabase("mydb");
// collection নির্বাচন
MongoCollection<Document> collection = database.getCollection("mycollection");
// Document deleteMany() ব্যবহার করা
collection.deleteMany(new Document("age", new Document("$lt", 30))); // Delete all documents where age < 30
System.out.println("Documents deleted successfully!");
// MongoClient বন্ধ করা
mongoClient.close();
}
}
ব্যাখ্যা:
deleteOne(): এটি প্রথম ডকুমেন্টটি মুছে ফেলে যা প্রদত্ত ফিল্টার (condition) এর সাথে মেলে।deleteMany(): এটি সমস্ত ডকুমেন্ট মুছে ফেলে যেগুলি প্রদত্ত ফিল্টার (condition) এর সাথে মেলে। উদাহরণস্বরূপ, আমরা এখানেage < 30শর্তে সমস্ত ডকুমেন্ট মুছে ফেলেছি।
3. Collection এবং Document Deletion সম্পর্কে কিছু গুরুত্বপূর্ণ নোট:
- Collection Drop: একটি collection drop করলে তার সমস্ত ডকুমেন্টও মুছে ফেলা হয় এবং এটি অপরিবর্তনীয়। তাই collection drop করার আগে নিশ্চিত হয়ে নিন যে এটি মুছে ফেলা দরকার।
- Document Deletion: একটি বা একাধিক ডকুমেন্ট মুছতে
deleteOne()এবংdeleteMany()ব্যবহার করা যেতে পারে, তবে ডকুমেন্ট মুছে ফেলার পর পুনরুদ্ধার করা সম্ভব নয়, unless আপনি কোনো ধরনের backup বা transaction management ব্যবহার করেন। - Query Filters: ডকুমেন্ট ডিলিট করার সময় ফিল্টার ব্যবহার করুন (যেমন
new Document("name", "John Doe")বাnew Document("age", new Document("$lt", 30))), যাতে আপনি সঠিক ডকুমেন্ট মুছতে পারেন। - Performance Considerations: অনেক ডকুমেন্ট একবারে মুছে ফেললে performance এর ওপর প্রভাব পড়তে পারে। এর জন্য MongoDB এর batch operations বা bulkWrite() ব্যবহার করা যেতে পারে।
MongoDB তে collection drop এবং document delete দুটি ভিন্ন কাজ, যা ডাটাবেস পরিচালনার ক্ষেত্রে গুরুত্বপূর্ণ ভূমিকা পালন করে। drop() মেথড দ্বারা পুরো collection মুছে ফেলা যায়, যা deleteOne() বা deleteMany() মেথডের মাধ্যমে ডকুমেন্ট মুছে ফেলার চেয়ে ভিন্ন। MongoDB-তে ডকুমেন্ট মুছতে আপনাকে অবশ্যই একটি filter ব্যবহার করতে হবে যাতে আপনি সঠিক ডকুমেন্ট নির্বাচন করতে পারেন।
Read more